version: 2
registries:
  gradle-plugin-portal:
    type: maven-repository
    url: https://plugins.gradle.org/m2
    username: dummy # Required by dependabot
    password: dummy # Required by dependabot
updates:
  - package-ecosystem: "gradle"
    directory: "/core"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.slf4j:slf4j-api"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "org.mockito:mockito-core"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "org.yaml:snakeyaml"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
        update-types: [ "version-update:semver-minor", "version-update:semver-patch" ]
      - dependency-name: "org.apache.commons:commons-compress"
        update-types: [ "version-update:semver-minor" ]
  - package-ecosystem: "gradle"
    directory: "/"
    allow:
      - dependency-name: "com.gradle*"
    registries:
      - gradle-plugin-portal
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10

# Explicit entry for each module
  - package-ecosystem: "gradle"
    directory: "/modules/activemq"
    schedule:
      interval: "monthly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/azure"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/cassandra"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "io.dropwizard.metrics:metrics-core"
        update-types: [ "version-update:semver-major" ]
  - package-ecosystem: "gradle"
    directory: "/modules/chromadb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/clickhouse"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/cockroachdb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/consul"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/couchbase"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/cratedb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/database-commons"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/db2"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/dynalite"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/elasticsearch"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/gcloud"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/hivemq"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/influxdb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/jdbc"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.mockito:mockito-core"
        update-types: [ "version-update:semver-major" ]
  - package-ecosystem: "gradle"
    directory: "/modules/jdbc-test"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.apache.tomcat:tomcat-jdbc"
        update-types: [ "version-update:semver-minor" ]
  - package-ecosystem: "gradle"
    directory: "/modules/junit-jupiter"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.mockito:mockito-core"
        update-types: [ "version-update:semver-major" ]
  - package-ecosystem: "gradle"
    directory: "/modules/k3s"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"
        update-types: [ "version-update:semver-minor", "version-update:semver-patch" ]
  - package-ecosystem: "gradle"
    directory: "/modules/k6"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"
        update-types: [ "version-update:semver-minor", "version-update:semver-patch" ]
  - package-ecosystem: "gradle"
    directory: "/modules/kafka"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/localstack"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/mariadb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.mariadb:r2dbc-mariadb"
        update-types: [ "version-update:semver-minor" ]
  - package-ecosystem: "gradle"
    directory: "/modules/milvus"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/minio"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/mockserver"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/mongodb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/mssqlserver"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/mysql"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/neo4j"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.neo4j.driver:neo4j-java-driver"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "org.neo4j:neo4j"
        update-types: [ "version-update:semver-major" ]
  - package-ecosystem: "gradle"
    directory: "/modules/nginx"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/oceanbase"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/ollama"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/openfga"
    schedule:
      interval: "weekly"
  - package-ecosystem: "gradle"
    directory: "/modules/oracle-free"
    schedule:
      interval: "weekly"
  - package-ecosystem: "gradle"
    directory: "/modules/oracle-xe"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/orientdb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/postgresql"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/presto"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/pulsar"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/qdrant"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/questdb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/r2dbc"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "io.r2dbc:r2dbc-spi"
        update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
  - package-ecosystem: "gradle"
    directory: "/modules/rabbitmq"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/redpanda"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/selenium"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.seleniumhq.selenium:selenium-bom"
        update-types: [ "version-update:semver-minor" ]
  - package-ecosystem: "gradle"
    directory: "/modules/solace"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.apache.qpid:qpid-jms-client"
        update-types: [ "version-update:semver-major" ]
  - package-ecosystem: "gradle"
    directory: "/modules/solr"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "org.apache.solr:solr-solrj"
        update-types: [ "version-update:semver-major" ]
  - package-ecosystem: "gradle"
    directory: "/modules/spock"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/tidb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/toxiproxy"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/trino"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/vault"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/weaviate"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
  - package-ecosystem: "gradle"
    directory: "/modules/yugabytedb"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10

# Examples
  - package-ecosystem: "gradle"
    directory: "/examples"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "ch.qos.logback:logback-classic"
        update-types: [ "version-update:semver-minor" ]
      - dependency-name: "org.apache.solr:solr-solrj"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "org.neo4j.driver:neo4j-java-driver"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "org.testng:testng"
        update-types: [ "version-update:semver-minor" ]
      - dependency-name: "org.slf4j:slf4j-api"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "org.springframework.boot"
        update-types: [ "version-update:semver-major" ]
      - dependency-name: "com.diffplug.spotless"
        update-types: [ "version-update:semver-minor" ]

# GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
